1. Field of the Invention
The present invention relates to quality of service. In one example, the present invention relates to methods and apparatus for providing quality of service (QoS) for server storage applications.
2. Description of Related Art
Conventional servers connect to storage area networks (SANs) through switches such as fibre channel switches. Storage applications running on conventional servers interact with switches using individual device drivers associated with resources such as Host Bus Adapters (HBAs). Traffic from multiple storage applications running on a server is sent using a shared queue associated with an HBA and received using a shared queue associated with the HBA. In many instances, traffic from different storage applications is not differentiated at a device driver and no QoS mechanisms can be applied. Although a SAN may have QoS applied to traffic received from different servers, storage applications running on the same server do not have QoS available.
In many instances, the input/output (I/O) requests from different server applications are aggregated onto shared queues. Delays in handling I/O requests for a particular application may result in delays for all applications. In some instances, an application that requires critical response time may be blocked or slowed down by a less critical request.
Also, heretofore there has been no control of bandwidth allocation on a server application basis. As such, a single server storage application can use up all of the available bandwidth.
Therefore, it is desirable to extend QoS to the application level in a server. It is also desirable to provide QoS at the application level across servers with shared I/O connectivity.